package cn.edu.cxcyzx.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.alibaba.fastjson.JSONObject;

import cn.edu.cxcyzx.entity.Gitee;
import cn.edu.cxcyzx.entity.GiteeVO;
import cn.edu.cxcyzx.entity.Project;
import cn.edu.cxcyzx.supervisor.ResultDo;

public interface GiteeService {
	
	/**
	 * 保存code
	 * @param code
	 * @param userId
	 * @return	Gitee
	 */
	@Transactional
	public Gitee updateCode(String code,String userId);
	/**
	 * 查询 gitee
	 * @param userId
	 * @return
	 */
	public Gitee getGitee(String userId);
	/**
	 * 查询code,根据code
	 * @param code
	 * @return
	 */
	public Gitee getGiteeBy_code(String code);
	/**
	 * 插入一条完整数据
	 * @param gitee
	 */
	public void insertGitee(Gitee gitee);
	/**
	 * 插入部分gitee
	 * @param gitee
	 */
	public void insertGitee_part(Gitee gitee);
	/**
	 * 更新 gitee
	 * @param gitees
	 */
	public void update(Gitee gitees);
	/**
	 * 根据userId删除记录
	 * @param userId
	 */
	public void deleteGiteeBy_userId(String userId);
	/**
	 * 根据userName删除记录
	 * @param userName
	 */
	public void deleteGiteeBy_userName(String userName);
	/**
	 * 查询所有gitee账户
	 * @return
	 */
	public ResultDo<List<GiteeVO>> getAll();
	/**
	 * 判断用户是否已在
	 * @param proName
	 * @param userId
	 * @return	ResultDo<String> fall_name
	 */
	public ResultDo<String> have_proName(String proName,String userId);
	/**
	 * 用户gitee信息
	 * @param userId
	 * @return	JSONObject
	 */
	public ResultDo<JSONObject> gitee_userInfo(String userId);
	/**
	 * 判断用户有没有在gitee上加入此项目
	 * @param userId
	 * @param projectId
	 * @return	
	 */
	public ResultDo<String> isInGiteePro(String userId,int projectId);
	/**
	 * 判断项目是否有此分支
	 * @param projectId
	 * @param branch
	 * @return
	 */
	public ResultDo<String> isHaveBranch(int projectId,String branch);
}
